class FutureFields:
    I = None
    def __init__(self) -> None:
        if not FutureFields.I: FutureFields.I = self
        self.fields = {}

class FutureField:
    def __init__(self, name:str) -> None:
        self.name = name
    
    def set(self, value) -> None:
        if not FutureFields.I: raise ValueError("Object 'FutureFields' doesn't exists.")
        f = FutureFields.I.fields
        f[self.name] = value

    def get(self):
        if not FutureFields.I: raise ValueError("Object 'FutureFields' doesn't exists.")
        f = FutureFields.I.fields
        return f.get(self.name, None)